factor-based methods